//
//  BaseObject.h
//
//
//  Created by liuhui on 13-9-21.
//  Copyright 2011 liuhui. All rights reserved.
//

#import <Foundation/Foundation.h>


@interface BaseObject : NSObject<NSCoding> {
    
}

- (NSDictionary*)attributeMapDictionary;

- (void)setAttributes:(NSDictionary*)dataDic;

//init a object with dictionary
- (id) initWithDic: (NSDictionary*) data;

//convert object a dictionary representation that contains key-value pairs
- (NSDictionary*) getDictionary;

- (NSArray*) getArrayWithKeys:(NSArray*)keys;

- (NSData*)getArchivedData;

- (NSString *)customDescription;

+ (NSString*)getPrimaryKeyName;

+ (NSDictionary*) tableColumnsAndPropertiesMapWithoutPrimaryKey;

+ (NSDictionary*) tableColumnsAndPropertiesMap;

@end
